package componentes;

import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;

/**
 * @author Reynald0
 */
public class CompMigLay
{
   /**
    * @param null
    * Por defecto tiene 13 columnas, 11 filas y 80 pixeles
    */
   public CompMigLay()
   {
      this(null, 13);
   }
   
   public CompMigLay(JPanel pPanel)
   {
      this(pPanel,13);
   }
   
   public CompMigLay(JPanel pPanel, int pColumnas)
   {
      this(pPanel, pColumnas, 11);
   }
   
   /**
    * @param pPanel recibe el panel que tendra el MigLayout
    * @param pColumnas hace referncia a cantidad de columnas que tendra el Layout
    * @param pFilas hace referencia a la cantidad de filas que tendran las filas
    */
   public CompMigLay(JPanel pPanel, int pColumnas, int pFilas)
   {
      pPanel.setLayout(new MigLayout("", crearColumnas(pColumnas), crearFilas(pFilas)));
   }
   
   /**
    * @param pNoColumnas recibe la cantidad de columnas que tendra el Layout
    */
   private String crearColumnas(int pNoColumnas)
   {
      String formato ="";
      for (int i = 0; i < pNoColumnas; i++)
         formato+= "[80px, grow, fill]"; //grow para que se expanda y fill para rellenar
      return formato;
   }
   
   /**
    * @param pNoFilas recibe la cantidad de filas que tendra el Layout
    */
   private String crearFilas(int pNoFilas)
   {
      String formato ="";
      for (int i = 0; i < pNoFilas; i++)
         formato+= "[40px, grow, fill]";
      return formato;
   }
}
